Many modern mobile applications involve content provisioning, such as browsing, gaming, financial applications, music, ring tones and other multi media applications. On-Line applications such as browsing and Wireless Application Protocol (WAP) based applications that require data exchange with a data network allow the mobile devices to access the data required for further processing by the device. Mobile applications are normally developed with adaptation to the properties of a specific terminal device of a group of devices with similar computational capabilities, such as memory, processors, operating system, display size and graphical resolution, as well as the base set of application programming interfaces for resource-constrained terminal devices, such as Connected Limited Device Configuration (CLDC) that when coupled with a profile such as the Mobile Information Device Profile (MIDP), provide a Java platform for developing applications to run on devices with limited memory, processing power, and graphical capabilities. Current solutions for developers of such applications focus mainly in upgrading the developing tools for each terminal device.
The differences between the properties of different terminal devices entail design problems, since any attempt to make adaptations of an application to be compatible with several types of terminal devices restricts the capabilities of that application to comply with the terminal device which is the most resource-constrained. On the other hand, individual adaptation (also known as “porting”, which is the process of adapting software to make it usable in a different environment) is costly and cumbersome, particularly when many new models are frequently added to the market. In addition, the development of applications for mobile terminal devices requires specific knowledge of the design tools, the limitations of each device and expensive testing verification processes, which are carried out on each device.
Another problem is related to the process required to add new applications and to upgrade or fix bugs in existing applications, which includes downloading the new applications or upgrading files into the device.
U.S. 2006/235925 (Rossotto et al.) discloses a multimedia service content provision method that uses wireless communication network, and involves interpreting received packets at client terminal, so as to obtain interactive presentation of multimedia service content, based on the service logic. According to this method, delivery packets that convey both the multimedia service contents and corresponding service logic are generated. The multimedia contents can thus be presented interactively at the terminal while new services can be designed on the server side and made available to the user terminals without modifications being required on the terminal side. However, this method uses a predetermined logic, which doesn't react in real-time to the state of the application and to the capabilities of the terminal device. More over, the proposed method still requires adaptation of the client-side application to each terminal device. In addition, Rossotto does not allow several users to interact with each another and influence, in real-time, the executed application at the terminal device of each other, as well as the content displayed to each one of them (e.g., interactions between employees of the same organization or users that participate in a common game).
Other existing platforms allow a user of a mobile device to develop mobile software over another platform (over .NET, for example) and then to adapt the client-side software to be able to be executed on that mobile device. However, this adaptation is done offline, thus still requiring the development, dispatch and installation of new client-side software for each update, fix operation or whenever a new application is added. In addition, developers who provide development tools that are added to the client-side application code generally increase the resources required from the terminal device, and are even sometimes useless for several models of devices with lower capabilities.
All the methods described above have not yet provided satisfactory solutions to the problem of providing design tools of mobile applications that do not require adaptation of the client-side application to each terminal device, and that react in real-time to the state of the application and to the capabilities of the terminal device.
It is an object of the present invention to provide a method and system for providing design tools of mobile applications that do not require adaptation of the client-side application to each terminal device.
It is another object of the present invention to provide a method and system for providing tools for execution, dispatch and platform installation of mobile applications that do not require adaptation of the client-side application to each terminal device.
It is another object of the present invention to provide design tools of mobile applications that react in real-time to the state of the application and to the capabilities of the terminal device.
It is a further object of the present invention to provide design tools of mobile applications that effectively exploits the capabilities of the terminal device.
It is yet another object of the present invention to provide design tools that allow maximization of the device capabilities, and developing and executing applications that are beyond the inherent device capabilities.
It is still another object of the present invention to provide design tools of mobile applications that can be easily implemented and simplify their verification process.
It is still another object of the present invention to provide design tools of applications that can be easily developed and implemented across platforms such as mobile devices and TV's.
Other objects and advantages of the invention will become apparent as the description proceeds.